package com.pic.mgt.monitor.backup;

import java.io.File;
import java.util.Date;

import com.pic.mgt.unit.Unit;

public interface UnitBackup {
	
	/**
	 * 備份單元
	 * @param Unit
	 * @return 是否完成動作
	 */
	public boolean backupUnit(Unit unit);
	
	/**
	 * 備份 Unit
	 * @param unit
	 * @param backupDestFolder 指定備份目錄位置
	 * @return 是否完成動作
	 */
	public boolean backupUnit(Unit unit, File backupDestFolder);
	
	/**
	 * 移除並備份錯誤的 Unit 檔案
	 * @param confirmationFile
	 * @return 是否完成動作
	 */
	public boolean removeAndBackupErrorUnit(File confirmationFile);
	
	/**
	 * 取得(包含今天日期)單元檔案的備份路徑
	 * @return
	 */
	public File getBackupUnitPath();
	
	/**
	 * 取得(包含指定日期)單元檔案的備份路徑
	 * @param specificDate
	 * @return
	 */
	public File getBackupUnitPath(Date specificDate);
	
	/**
	 * 取得(包含正確的日期)單元錯誤檔案的路徑
	 * @return
	 */
	public File getBackupBadUnitPath();
	
}
